ABSTRACT
Current GPUs have many times the memory bandwidth and computing power compared to CPUs. The difference in performance is getting bigger as the evolution speed of the GPUs is higher than of the CPUs. This make it interesting to use the GPU for general purpose computing (GPGPU). I begin by looking at the architecture of the GPU, and some different techniques for programming on a GPU, including some of the available high- level languages. I have implemented the Mandelbrot computation on a cluster of GPUs (the HPDC display wall), and compared it against two different CPU implementations on the cluster. I have also implemented the Mandelbrot computation in both Cg and Brook, and compared the performance of the two languages. My experimental study shows that the GPU implementation of the Mandelbrot application is up to twice as fast as the load- balanced CPU implementation on the cluster of 28 computers, and up to 6 times faster on one computer
TABLE OF CONTENTS
TITLE PAGE
CERTIFICATION
DEDICATION
ACKNOWLEDGEMENT
ABSTRACT
TABLE OF CONTENTS
CHAPTER ONE
1.0 INTRODUCTION
1.1 BACKGROUND OF THE STUDY
1.2 STATEMENT OF THE PROBLEM
1.3 PURPOSE OF THE STUDY
1.4 SIGNIFICANCE OF STUDY
1.4 AIMS AND OBJECTIVES
1.5 SCOPE OF STUDY
1.6 LIMITATIONS OF STUDY
1.7 ASSUMPTIONS
1.8 DEFINITION OF TERMS
CHAPTER TWO
2.0 LITERATURE REVIEW
CHAPTER THREE
3.1 DESCRIPTION AND ANALYSIS OF EXISTING SYSTEM
3.2 FACT FINDING METHOD USED
3.3 OBJECTIVES OF EXISTING SYSTEM
3.4 ORGANIZATION STRUCTURE
3.5 INPUT ANALYSIS
3.6 OUTPUT ANALYSIS
3.7 PROCESS ANALYSIS
3.8 INFORMATION FLOW DIAGRAMS
3.9 PROBLEMS OF THE EXISTING SYSTEM
3.10 JUSTIFICATION OF THE NEW SYSTEM
CHAPTER FOUR
4.1 DESIGN OF THE NEW SYSTEM
4.2 INPUT SPECIFICATION AND DESIGN
4.3 FILE DESIGN
4.4 OUTPUT SPECIFICATION
4.5 PROCEDURE CHART
4.6 SYSTEM FLOW CHART
4.7 SYSTEM REQUIREMENTS
5.1 IMPLEMENTATION OF THE NEW SYSTEM
5.2 PROGRAM DESIGN
5.3 PROGRAM FLOWCHART
5.4 PSEUDO CODE
5.5 SOURCE PROGRAM
5.6 TEST DATA
5.7 SAMPLE REPORT
5.8 PROCEDURE FOR SYSTEM CONVERSION
6.0 DOCUMENTATION
6.1 SYSTEM DOCUMENTATION
6.2 PROGRAM DOCUMENTATION
6.3 USER DOCUMENTATION
CHAPTER FIVE
7.0 SUMMARY, CONCLUSION AND RECOMMENDATION
7.1 SUMMARY
7.2 CONCLUSION
7.3 RECOMMENDATION
REFERENCE